球形颗粒生成
在【求解器模块】启用球形或混合颗粒耦合,再进入【颗粒模块】。先设置颗粒计算域和基础参数,再添加颗粒。
插入方式
| 方式 | 主要检查项 |
|---|---|
| 单颗粒 | 中心、半径、属性组和初速度 |
| 颗粒阵列 | 数量、间距、半径分布、区域与壁面间距 |
| 文件导入 | 输入 TXT、编号、属性映射及快照来源 |
| 循环插入 | 生成时间、间隔、次数、偏移和出生区域 |
TXT 导入
选择【插入模块 → 文件导入】,在【文件名称(需带.txt后缀)】填写 Particle_list.txt 等文件名。TXT 必须位于算例根目录,与 ModelInfo.json 同级;此处填写文件名,不填写绝对路径或子目录。
文件结构
- 第 1 行固定为
TFluid_DEM_input,注意大小写。 - 第 2 行为颗粒总数
N。 - 从第 3 行开始,每行一颗粒,共
N行;每行 18 列,用空格或 Tab 分隔。
文件使用纯文本格式,不写表格标题、列名或行内注释。三维向量均按 X、Y、Z 顺序填写;没有初速度或角速度时,相关三列仍需填 0 0 0。
| 列号 | 内容 | 单位/说明 |
|---|---|---|
| 1 | 颗粒属性组编号 | 从 0 开始,须存在对应属性组 |
| 2 | 半径 | m,必须为正数,不是直径 |
| 3 | 密度 | kg/m³ |
| 4–6 | 球心坐标 X、Y、Z | m |
| 7–9 | 耦合阶段初始速度 X、Y、Z | m/s |
| 10–12 | 耦合阶段初始角速度 X、Y、Z | rad/s |
| 13–15 | 初始化阶段初始速度 X、Y、Z | m/s |
| 16–18 | 初始化阶段初始角速度 X、Y、Z | rad/s |
完整示例
以下内容取自 2.2.0 算例包的 CFD-DEM-02-Ball_Kissing-FileInput/Particle_list.txt,声明 2 颗球形颗粒,每条记录都是 18 列:
TFluid_DEM_input
2
0 0.000835 1140 0.00495 0.005 0.033 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
0 0.000835 1140 0.005 0.005 0.0364 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
两颗粒都引用属性组 0,半径为 0.000835 m,密度为 1140 kg/m³;初始化与耦合阶段的速度和角速度分别占用独立三列,不能合并或省略。完整工况见双球撞击教程。
导入检查
- 核对第 2 行数量与实际颗粒记录数一致,每条记录没有折成两行。
- 核对属性组编号、半径、密度、坐标及单位;半径和长度统一使用 m。
- 保存 TXT 后刷新模型预览,检查位置和尺寸,再按工况检查初始化及耦合输出。
求解器生成的球形颗粒初始化快照可能使用 TFluid_DEM_initial_output 表头,当前格式仍为每 条 18 列。复用快照时保留原始表头和全部记录,不把修改表头当作完整续算;续算条件见续算与恢复。
设置流程
- 先建立颗粒属性组,确认插入条目引用的组编号存在;编号从 0 开始。
- 选择插入方式,填写几何、数量、物性组与运动参数。
- 在模型预览显示颗粒,检查是否越界、互相重叠或穿透壁面。
- 配置初始化与耦合阶段,再保存并短时运行。
- 分别查看
TDEM_Init.pvd与TDEM.pvd中实际存在的结果,确认初始化状态没有被误当作耦合状态。
预览只展示配置几何,不进行接触松弛。阵列看起来整齐也可能存在过大重叠,应结合半径、间距及初始化输出检查。循环插入还要核对新颗粒是否与已存在的颗粒、结构冲突。